激活函數是指能夠讓模型依照輸入資料而作出變動的函數,而激活函數對輸出做出限制,其中有限制輸出範圍和壓縮輸出範圍。在pytorch中限制輸出範圍可以使用toch.nn.Hardtahn(),在這個函數中會預設將輸出範圍訂在-1和1之間。壓縮輸出範圍可以使用torch.nn.Sigmoid這之中也有很多不同的函數,但他們所有都有相同特性就是
- 當x=0 函數斜率為常數
- 當x趨近負無限大時,函數值會向0或-1
- 若x是增加的時候,函數值會逐漸向1趨近
使用這種壓縮輸出範圍的激活函數時,這個神坷雃就只對中段的輸出敏感而已,往右會出現正飽和,而向左則出現負飽和。
激活函數條件
- 激活函數在大部份時候都要可以微分,因為微分才能有梯度
- 激活函數必須是非線性,如此一來才能解決相對複雜的問題
*因為梯度下降演算法是用來訓練模型的,所以沒有梯度就相當於無法訓練了*
激活函數的特性
包含一個以上的敏感區以及多個非敏感區,在敏感區中,輸入的些微改變都會對輸出造成影響。